﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Xml;
using Backend;

namespace SaveMeWCF

    //Georgi Damyanov was here! 
{
    
    [ServiceContract]
    public interface ISaveMe
    {

        [OperationContract]
        [WebGet(UriTemplate = "/SendMyLocation/{location}")]
         int SendMyLocation(string location);

        [OperationContract]
        [WebGet(UriTemplate = "/GetTaxiRequestsByStatus")]
        TaxiRequest[] GetTaxiRequestsByStatus();

        [OperationContract]
        [WebGet(UriTemplate = "/GetMyTaxiStatus/{id}")]
        int GetMyTaxiStatus(string id);

        [OperationContract]
        [WebGet(UriTemplate = "/UpdateTaxiRequest/{id}")]
        void UpdateTaxiRequest(string id);

        [OperationContract]
        [WebGet(UriTemplate = "/CancelTaxiRequestFromPhone/{id}")]
        void CancelTaxiRequestFromPhone(string id);

        [OperationContract]
        [WebGet(UriTemplate = "/MarkCancelRequestAsReviewed/{id}")]
        void MarkCancelRequestAsReviewed(string id);


        [OperationContract]
        [WebGet(UriTemplate = "/UpdateTaxiRequestWithEstimatedTime/{id}-{estimatedTime}")]
        void UpdateTaxiRequestWithEstimatedTime(string id,string estimatedTime);

        [OperationContract]
        [WebGet(UriTemplate = "/UpdateTaxiRequestWithPlateNumber/{id}-{plateNr}")]
        void UpdateTaxiRequestWithPlateNr(string id, string plateNr);


        [OperationContract]
        [WebGet(UriTemplate = "/GetEstimatedTimeAndPlateNr/{id}")]
        TimeAndPlate GetEstimatedTimeAndPlateNr(string id);

        [OperationContract]
        [WebGet(UriTemplate = "/SaveNewUser/{phoneNr}-{homeAddress}")]
        bool SaveNewUser(string phoneNr, string homeAddress);

        [OperationContract]
        [WebGet(UriTemplate = "/SendMyLocationWithPhoneNr/{location}-{phoneNr}")]
        int SendMyLocationWithPhoneNr(string location, string phoneNr);

        [OperationContract]
        [WebGet(UriTemplate = "/GetEstimatedTime/{id}")]
        string GetEstimatedTime(string id);

        [OperationContract]
        [WebGet(UriTemplate = "/GetPlateNr/{id}")]
        string GetPlateNr(string id);


    }


    
    
}
